﻿using System;
using System.Collections.Generic;
using System.IO;

class Monopoly
{
    private List<Property> properties = new List<Property>();
    private List<Player> players = new List<Player>();
    private char[,] board = new char[60, 89];
    private static Random numGen = new Random();
    private int chestCounter;
    private int chanceCounter;
    private static double circleCash = 1;

    #region dices

    char[,] diceOne =
    {
        {' ', ' ', ' ', ' ', ' '},
        {' ', ' ', '*', ' ', ' '},
        {' ', ' ', ' ', ' ', ' '},
    };

        char[,] diceTwo =
    {
        {' ', ' ', '*', ' ', ' '},
        {' ', ' ', ' ', ' ', ' '},
        {' ', ' ', '*', ' ', ' '},
    };

        char[,] diceThree =
    {
        {'*', ' ', ' ', ' ', ' '},
        {' ', ' ', '*', ' ', ' '},
        {' ', ' ', ' ', ' ', '*'},
    };

        char[,] diceFour =
    {
        {'*', ' ', ' ', ' ', '*'},
        {' ', ' ', ' ', ' ', ' '},
        {'*', ' ', ' ', ' ', '*'},
    };

        char[,] diceFive =
    {
        {'*', ' ', ' ', ' ', '*'},
        {' ', ' ', '*', ' ', ' '},
        {'*', ' ', ' ', ' ', '*'},
    };

        char[,] diceSix =
    {
        {'*', ' ', ' ', ' ', '*'},
        {'*', ' ', ' ', ' ', '*'},
        {'*', ' ', ' ', ' ', '*'},
    };

    #endregion

    #region Board
        static char[,] matrix = 
    {
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ','!','!','!',' ','^','^','^',' ','!','!','!',' ','!','!','!',' ','^','^','^',' ','?','?','?',' ','?','?','?',' ','^','^','^',' ','?','?','?',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','`','`',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','$','$','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','`','`',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','$','$','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','`','`',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','$','$','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','`','`',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','$','$','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','`','`',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','$','$','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','`','`',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','$','$','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','1','1',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','1','1',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','1','1',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','&','&','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','1','1',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','&','&','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','1','1',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','&','&','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0','0','0','0','1','1',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','&','&','0','0','0','0',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ','x','x','x',' ','x','x','x',' ','^','^','^',' ','x','x','x',' ','^','^','^',' ','^','^','^',' ','~','~','~',' ','^','^','^',' ','~','~','~',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ','0','0','0',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ','0','0','0',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','^','^','^','^','^','^',' ','0','0','0',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','^','^','^',' ','0','0','0',' ','^','^','^','^','^','^',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
    };
    #endregion

    public Monopoly()
    {
        players.Add(new Player(1500, ConsoleColor.DarkBlue, 0, 0));
        players.Add(new Player(1500, ConsoleColor.DarkCyan, 0, 1));
        players.Add(new Player(1500, ConsoleColor.DarkGreen, 0, 2));
        players.Add(new Player(1500, ConsoleColor.DarkMagenta, 0, 3));

        properties.Add(new Property(1, "Old Kent Road", 60, null, ConsoleColor.DarkRed, 2));
        properties.Add(new Property(3, "Whitechapel Road", 60, null, ConsoleColor.DarkRed, 4));
        properties.Add(new Property(5, "Kings Cross Station", 200, null, ConsoleColor.Gray, 25));
        properties.Add(new Property(6, "The Angel Islington", 100, null, ConsoleColor.Cyan, 6));
        properties.Add(new Property(8, "Euston Road", 100, null, ConsoleColor.Cyan, 6));
        properties.Add(new Property(9, "Pentonville Road", 120, null, ConsoleColor.Cyan, 8));
        properties.Add(new Property(11, "Pall Mall", 140, null, ConsoleColor.Magenta, 10));
        properties.Add(new Property(12, "Electric Company", 150, null, ConsoleColor.Gray, 30));
        properties.Add(new Property(13, "Whitehall", 140, null, ConsoleColor.Magenta, 10));
        properties.Add(new Property(14, "Northumberland Avenue", 160, null, ConsoleColor.Magenta, 12));
        properties.Add(new Property(15, "Marylebone Station", 200, null, ConsoleColor.Gray, 25));
        properties.Add(new Property(16, "Bow Street", 180, null, ConsoleColor.DarkYellow, 14));
        properties.Add(new Property(18, "Marlborough Street", 180, null, ConsoleColor.DarkYellow, 14));
        properties.Add(new Property(19, "Vine Street", 200, null, ConsoleColor.DarkYellow, 16));
        properties.Add(new Property(21, "The Strand", 220, null, ConsoleColor.Red, 18));
        properties.Add(new Property(23, "Fleet Street", 220, null, ConsoleColor.Red, 18));
        properties.Add(new Property(24, "Trafalgar Square", 240, null, ConsoleColor.Red, 20));
        properties.Add(new Property(25, "Fenchurch Station", 200, null, ConsoleColor.Gray, 25));
        properties.Add(new Property(26, "Leicester Square", 260, null, ConsoleColor.Yellow, 22));
        properties.Add(new Property(27, "Coventry Street", 260, null, ConsoleColor.Yellow, 22));
        properties.Add(new Property(28, "Water Works", 150, null, ConsoleColor.Gray, 30));
        properties.Add(new Property(29, "Picadilly", 280, null, ConsoleColor.Yellow, 22));
        properties.Add(new Property(31, "Regent Street", 300, null, ConsoleColor.Green, 26));
        properties.Add(new Property(32, "Oxford Street", 300, null, ConsoleColor.Green, 26));
        properties.Add(new Property(34, "Bond Street", 320, null, ConsoleColor.Green, 28));
        properties.Add(new Property(35, "Liverpool Station", 200, null, ConsoleColor.Gray, 25));
        properties.Add(new Property(37, "Park Lane", 350, null, ConsoleColor.Blue, 35));
        properties.Add(new Property(39, "Mayfair", 400, null, ConsoleColor.Blue, 50));

        chestCounter = 0;
        chanceCounter = 0;
    }

    public List<Property> Properties
    {
        get { return this.properties; }
        set { this.properties = value; }
    }

    public List<Player> Players
    {
        get { return this.players; }
        set { this.players = value; }
    }

    public char[,] Board
    {
        get { return this.board; }
        set { this.board = value; }
    }

    public void DrawMatrix(byte cursorPositionY, byte cursorPositionX)
    {
        //byte cursorPositionY = 40;
        //byte cursorPositionX = 0;

        for (int i = 0; i < matrix.GetLength(0); i++)
        {
            Console.SetCursorPosition(cursorPositionY, cursorPositionX + i);

            for (int j = 0; j < matrix.GetLength(1); j++)
            {
                Console.BackgroundColor = ConsoleColor.White;
                Console.ForegroundColor = ConsoleColor.Gray;

                switch (matrix[i, j])
                {
                    case '^':
                        Console.BackgroundColor = ConsoleColor.DarkGray;
                        Console.ForegroundColor = ConsoleColor.DarkGray;
                        break;
                    case '0':
                        Console.BackgroundColor = ConsoleColor.Gray;
                        Console.ForegroundColor = ConsoleColor.Gray;
                        break;
                    case '$':
                        Console.BackgroundColor = ConsoleColor.Green;
                        Console.ForegroundColor = ConsoleColor.Green;
                        break;
                    case '1':
                        Console.BackgroundColor = ConsoleColor.Magenta;
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        break;
                    case 'x':
                        Console.BackgroundColor = ConsoleColor.Cyan;
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        break;
                    case 'z':
                        Console.BackgroundColor = ConsoleColor.DarkCyan;
                        Console.ForegroundColor = ConsoleColor.DarkCyan;
                        break;
                    case '?':
                        Console.BackgroundColor = ConsoleColor.Yellow;
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        break;
                    case '!':
                        Console.BackgroundColor = ConsoleColor.Red;
                        Console.ForegroundColor = ConsoleColor.Red;
                        break;
                    case '@':
                        Console.BackgroundColor = ConsoleColor.DarkGreen;
                        Console.ForegroundColor = ConsoleColor.DarkGreen;
                        break;
                    case '`':
                        Console.BackgroundColor = ConsoleColor.DarkYellow;
                        Console.ForegroundColor = ConsoleColor.DarkYellow;
                        break;
                    case '~':
                        Console.BackgroundColor = ConsoleColor.DarkRed;
                        Console.ForegroundColor = ConsoleColor.DarkRed;
                        break;
                    case '&':
                        Console.BackgroundColor = ConsoleColor.Blue;
                        Console.ForegroundColor = ConsoleColor.Blue;
                        break;
                    case '#':
                        Console.BackgroundColor = ConsoleColor.Black;
                        Console.ForegroundColor = ConsoleColor.Black;
                        break;
                    default:
                        Console.BackgroundColor = ConsoleColor.White;
                        Console.ForegroundColor = ConsoleColor.White;
                        break;
                }

                Console.Write(matrix[i, j]);
            }

            Console.WriteLine();
        }
    }

    public void FillSquare(short x, short y, byte caseToFill, ConsoleColor playerColor, byte playerID = 0, byte curSector = 1)
    {
        sbyte dx = 0;
        sbyte dy = 0;

        switch (curSector)
        {
            case 1: dy = 3; break;
            case 2: dx = -5; break;
            case 3: dy = -3; break;
            case 4: dx = 5; break;

        }
        switch (caseToFill)
        {
            case 0:
            case 20:

                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 6; j++)
                    {
                        Console.SetCursorPosition(x + j + (playerID * dx), y + i + (playerID * dy));

                        Console.ForegroundColor = playerColor;
                        Console.BackgroundColor = playerColor;

                        Console.Write("X");
                        Console.ResetColor();
                    }
                }

                break;
            case 10:
            case 30:

                for (int i = 0; i < 4; i++)
                {
                    for (int j = 0; j < 3; j++)
                    {
                        Console.SetCursorPosition(x + j + (playerID * dx), y + i + (playerID * dy));

                        Console.ForegroundColor = playerColor;
                        Console.BackgroundColor = playerColor;

                        Console.Write("X");
                        Console.ResetColor();
                    }
                }

                break;
            default:

                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 3; j++)
                    {
                        Console.SetCursorPosition(x + j + (playerID * dx), y + i + (playerID * dy));

                        Console.ForegroundColor = playerColor;
                        Console.BackgroundColor = playerColor;

                        Console.Write("X");
                        Console.ResetColor();
                    }
                }

                break;
        }
}

    public void DrawPoint(Player player, ConsoleColor color)
    {
        byte sector = 0;

        byte newPosition = player.CurrentPosition;

        if (newPosition < 10)
        {
            sector = 1;
        }
        else if (newPosition < 20)
        {
            sector = 2;
        }
        else if (newPosition < 30)
        {
            sector = 3;
        }
        else if (newPosition < 40)
        {
            sector = 4;
        }

        byte curPlayerID = player.ID;

        #region switch
        switch (newPosition)
        {
            case 0:
                Console.SetCursorPosition(103, 49);
                FillSquare(103, 49, 0, color, curPlayerID, sector);

                break;
            case 1:
                Console.SetCursorPosition(99, 49);
                FillSquare(99, 49, 1, color, curPlayerID, sector);

                break;
            case 2:
                Console.SetCursorPosition(95, 49);
                FillSquare(95, 49, 2, color, curPlayerID, sector);

                break;
            case 3:
                Console.SetCursorPosition(91, 49);
                FillSquare(91, 49, 3, color, curPlayerID, sector);

                break;
            case 4:
                Console.SetCursorPosition(87, 49);
                FillSquare(87, 49, 4, color, curPlayerID, sector);

                break;
            case 5:
                Console.SetCursorPosition(83, 49);
                FillSquare(83, 49, 5, color, curPlayerID, sector);

                break;
            case 6:
                Console.SetCursorPosition(79, 49);
                FillSquare(79, 49, 6, color, curPlayerID, sector);

                break;
            case 7:
                Console.SetCursorPosition(75, 49);
                FillSquare(75, 49, 7, color, curPlayerID, sector);

                break;
            case 8:
                Console.SetCursorPosition(71, 49);
                FillSquare(71, 49, 8, color, curPlayerID, sector);

                break;
            case 9:
                Console.SetCursorPosition(67, 49);
                FillSquare(67, 49, 9, color, curPlayerID, sector);

                break;
            case 10:
                Console.SetCursorPosition(55, 44);
                FillSquare(55, 44, 10, color, curPlayerID, sector);

                break;
            case 11:
                Console.SetCursorPosition(55, 41);
                FillSquare(55, 41, 11, color, curPlayerID, sector);

                break;
            case 12:
                Console.SetCursorPosition(55, 38);
                FillSquare(55, 38, 12, color, curPlayerID, sector);

                break;
            case 13:
                Console.SetCursorPosition(55, 35);
                FillSquare(55, 35, 13, color, curPlayerID, sector);

                break;
            case 14:
                Console.SetCursorPosition(55, 32);
                FillSquare(55, 32, 14, color, curPlayerID, sector);

                break;
            case 15:
                Console.SetCursorPosition(55, 29);
                FillSquare(55, 29, 15, color, curPlayerID, sector);

                break;
            case 16:
                Console.SetCursorPosition(55, 26);
                FillSquare(55, 26, 16, color, curPlayerID, sector);

                break;
            case 17:
                Console.SetCursorPosition(55, 23);
                FillSquare(55, 23, 17, color, curPlayerID, sector);

                break;
            case 18:
                Console.SetCursorPosition(55, 20);
                FillSquare(55, 20, 18, color, curPlayerID, sector);

                break;
            case 19:
                Console.SetCursorPosition(55, 17);
                FillSquare(55, 17, 19, color, curPlayerID, sector);

                break;
            case 20:
                Console.SetCursorPosition(60, 9);
                FillSquare(60, 9, 20, color, curPlayerID, sector);

                break;
            case 21:
                Console.SetCursorPosition(67, 9);
                FillSquare(67, 9, 21, color, curPlayerID, sector);

                break;
            case 22:
                Console.SetCursorPosition(71, 9);
                FillSquare(71, 9, 22, color, curPlayerID, sector);

                break;
            case 23:
                Console.SetCursorPosition(75, 9);
                FillSquare(75, 9, 23, color, curPlayerID, sector);

                break;
            case 24:
                Console.SetCursorPosition(79, 9);
                FillSquare(79, 9, 24, color, curPlayerID, sector);

                break;
            case 25:
                Console.SetCursorPosition(83, 9);
                FillSquare(83, 9, 25, color, curPlayerID, sector);

                break;
            case 26:
                Console.SetCursorPosition(87, 9);
                FillSquare(87, 9, 26, color, curPlayerID, sector);

                break;
            case 27:
                Console.SetCursorPosition(91, 9);
                FillSquare(91, 9, 27, color, curPlayerID, sector);

                break;
            case 28:
                Console.SetCursorPosition(95, 9);
                FillSquare(95, 9, 28, color, curPlayerID, sector);

                break;
            case 29:
                Console.SetCursorPosition(99, 9);
                FillSquare(99, 9, 29, color, curPlayerID, sector);

                break;
            case 30:
                Console.SetCursorPosition(111, 12);
                FillSquare(111, 12, 30, color, curPlayerID, sector);

                break;
            case 31:
                Console.SetCursorPosition(111, 17);
                FillSquare(111, 17, 31, color, curPlayerID, sector);

                break;
            case 32:
                Console.SetCursorPosition(111, 20);
                FillSquare(111, 20, 32, color, curPlayerID, sector);

                break;
            case 33:
                Console.SetCursorPosition(111, 23);
                FillSquare(111, 23, 33, color, curPlayerID, sector);

                break;
            case 34:
                Console.SetCursorPosition(111, 26);
                FillSquare(111, 26, 34, color, curPlayerID, sector);

                break;
            case 35:
                Console.SetCursorPosition(111, 29);
                FillSquare(111, 29, 35, color, curPlayerID, sector);

                break;
            case 36:
                Console.SetCursorPosition(111, 32);
                FillSquare(111, 32, 36, color, curPlayerID, sector);

                break;
            case 37:
                Console.SetCursorPosition(111, 35);
                FillSquare(111, 35, 37, color, curPlayerID, sector);

                break;
            case 38:
                Console.SetCursorPosition(111, 38);
                FillSquare(111, 38, 38, color, curPlayerID, sector);

                break;
            case 39:
                Console.SetCursorPosition(111, 41);
                FillSquare(111, 41, 39, color, curPlayerID, sector);

                break;
        }
        #endregion
    }

    public void DrawStatistics()
    {
        if (players.Count == 3)
        {
            for (byte i = 0; i < 3; i++)
            {
                Console.SetCursorPosition(135, 35 + 2 * i);
                Console.Write("{0, 30}", " ");
            }
        }
        else if (players.Count == 2)
        {
            for (byte i = 0; i < 3; i++)
            {
                Console.SetCursorPosition(135, 25 + 2 * i);
                Console.Write("{0, 30}", " ");
            }
        }

        for (int i = 0; i < players.Count; i++)
        {
            Console.SetCursorPosition(135, 5 + 10 * i);

            Console.ForegroundColor = players[i].Color;
            Console.Write(players[i].Color);
            Console.ResetColor();

            Console.SetCursorPosition(135, 7 + 10 * i);

            Console.Write("Cash: ");
            Console.Write("{0, 4}", players[i].Cash);

            Console.SetCursorPosition(135, 9 + 10 * i);

            // Clears the properties line
            Console.Write("{0, 30}", " ");

            Console.SetCursorPosition(135, 9 + 10 * i);
            
            foreach (var property in players[i].Properties)
            {
                Console.ForegroundColor = property.Color;
                Console.BackgroundColor = property.Color;

                Console.Write(" ");

                Console.ResetColor();

                Console.Write(" ");
            }
        }
    }

    public void PrintCard(byte inPos)
    {
        Console.SetCursorPosition(0, 0);

        string fileName = @"../../cards/converted/" + Convert.ToString(inPos) + ".txt";

        char[,] charMatrix = new char[44, 39];

        StreamReader inputMatrix = new StreamReader(fileName);

        using (inputMatrix)
        {
            string line;
            string[] matrixStrRow = new string[39];

            for (int i = 0; i < 44; i++)
            {
                line = inputMatrix.ReadLine();
                string[] sep = new string[] { " " };
                matrixStrRow = line.Split(sep, StringSplitOptions.RemoveEmptyEntries);

                for (int j = 0; j < 39; j++)
                {
                    charMatrix[i, j] = Convert.ToChar(matrixStrRow[j]);
                }
            }
        }

        for (int i = 0; i < charMatrix.GetLength(0); i++)
        {
            for (int j = 0; j < charMatrix.GetLength(1); j++)
            {
                Console.BackgroundColor = ConsoleColor.White;
                Console.ForegroundColor = ConsoleColor.Gray;

                switch (charMatrix[i, j])
                {
                    case ')':
                        Console.BackgroundColor = ConsoleColor.Black;
                        Console.ForegroundColor = ConsoleColor.Black;
                        break;
                    case '@':
                        Console.BackgroundColor = ConsoleColor.White;
                        Console.ForegroundColor = ConsoleColor.White;
                        break;
                    case '%':
                        Console.BackgroundColor = ConsoleColor.Red;
                        Console.ForegroundColor = ConsoleColor.Red;
                        break;
                    case '$':
                        Console.BackgroundColor = ConsoleColor.Magenta;
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        break;
                    case '#':
                        Console.BackgroundColor = ConsoleColor.Yellow;
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        break;
                    case '*':
                        Console.BackgroundColor = ConsoleColor.Green;
                        Console.ForegroundColor = ConsoleColor.Green;
                        break;
                    case '^':
                        Console.BackgroundColor = ConsoleColor.Blue;
                        Console.ForegroundColor = ConsoleColor.Blue;
                        break;
                    case '(':
                        Console.BackgroundColor = ConsoleColor.Cyan;
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        break;
                    case '`':
                        Console.BackgroundColor = ConsoleColor.DarkYellow;
                        Console.ForegroundColor = ConsoleColor.DarkYellow;
                        break;
                    case '~':
                        Console.BackgroundColor = ConsoleColor.DarkRed;
                        Console.ForegroundColor = ConsoleColor.DarkRed;
                        break;
                    case '&':
                        Console.BackgroundColor = ConsoleColor.DarkGray;
                        Console.ForegroundColor = ConsoleColor.DarkGray;
                        break;
                    case '-':
                        Console.BackgroundColor = ConsoleColor.Gray;
                        Console.ForegroundColor = ConsoleColor.Gray;
                        break;
                    case '>':
                        Console.BackgroundColor = ConsoleColor.DarkCyan;
                        Console.ForegroundColor = ConsoleColor.DarkCyan;
                        break;
                    case '<':
                        Console.BackgroundColor = ConsoleColor.DarkGreen;
                        Console.ForegroundColor = ConsoleColor.DarkGreen;
                        break;
                    default:
                        Console.BackgroundColor = ConsoleColor.White;
                        Console.ForegroundColor = ConsoleColor.White;
                        break;
                }

                Console.Write(charMatrix[i, j]);
            }

            Console.WriteLine();
        }
    }

    public void PrintDice(byte diceValue, byte y, byte x)
    {
        Console.SetCursorPosition(y, x);
        Console.ForegroundColor = ConsoleColor.White;
        Console.BackgroundColor = ConsoleColor.Black;

        switch (diceValue)
        {
            case 1:
                for (byte row = 0; row < diceOne.GetLength(0); row++)
                {
                    Console.SetCursorPosition(y, x + row);

                    for (byte column = 0; column < diceOne.GetLength(1); column++)
                    {
                        Console.Write(diceOne[row, column]);
                    }

                    Console.WriteLine();
                }
                break;
            case 2:
                for (byte row = 0; row < diceTwo.GetLength(0); row++)
                {
                    Console.SetCursorPosition(y, x + row);

                    for (byte column = 0; column < diceTwo.GetLength(1); column++)
                    {
                        Console.Write(diceTwo[row, column]);
                    }

                    Console.WriteLine();
                }
                break;
            case 3:
                for (byte row = 0; row < diceThree.GetLength(0); row++)
                {
                    Console.SetCursorPosition(y, x + row);

                    for (byte column = 0; column < diceThree.GetLength(1); column++)
                    {
                        Console.Write(diceThree[row, column]);
                    }

                    Console.WriteLine();
                }
                break;
            case 4:
                for (byte row = 0; row < diceFour.GetLength(0); row++)
                {
                    Console.SetCursorPosition(y, x + row);

                    for (byte column = 0; column < diceFour.GetLength(1); column++)
                    {
                        Console.Write(diceFour[row, column]);
                    }

                    Console.WriteLine();
                }
                break;
            case 5:
                for (byte row = 0; row < diceFive.GetLength(0); row++)
                {
                    Console.SetCursorPosition(y, x + row);

                    for (byte column = 0; column < diceFive.GetLength(1); column++)
                    {
                        Console.Write(diceFive[row, column]);
                    }

                    Console.WriteLine();
                }
                break;
            case 6:
                for (byte row = 0; row < diceSix.GetLength(0); row++)
                {
                    Console.SetCursorPosition(y, x + row);

                    for (byte column = 0; column < diceSix.GetLength(1); column++)
                    {
                        Console.Write(diceSix[row, column]);
                    }

                    Console.WriteLine();
                }
                break;
        }
    }

    public void ThrowDice(Player player, byte counter)
    {


        DrawStatistics();

        #region drawPlayerNameMiddle

        Console.SetCursorPosition(80, 30);

        Console.Write("{0, 15}", " ");

        Console.SetCursorPosition(80, 30);

        Console.ForegroundColor = player.Color;
        Console.Write(player.Color);
        Console.ResetColor();

        #endregion

        Console.ReadKey(true);

        byte firstDice = (byte)numGen.Next(1, 7);
        PrintDice(firstDice, 78, 25);

        byte secondDice = (byte)numGen.Next(1, 7);
        PrintDice(secondDice, 87, 25);

        byte diceSum = (byte)(firstDice + secondDice);
        byte newPosition = (byte)((player.CurrentPosition + diceSum) % 40);

        DrawPoint(player, ConsoleColor.White);

        player.Move(newPosition);

        DrawPoint(player, player.Color);

        CheckPositon(newPosition, player);

        if (firstDice == secondDice)
        {
            counter++;

            if (counter <= 2)
            {
                ThrowDice(player, counter);
            }
            else
            {
                DrawPoint(player, ConsoleColor.White);
                player.CurrentPosition = 10;
                DrawPoint(player, player.Color);

                if (!player.GiveMoney(50, null))
                {
                    deletePlayer(player);
                }
            }
        }
    }
    

    public void CheckPositon(byte newPosition, Player player)
    {
        #region redrawLogInfo
        Console.SetCursorPosition(110, 51);
        Console.Write("{0, 80}", " ");
        Console.SetCursorPosition(110, 52);
        Console.Write("{0, 80}", " ");
        Console.SetCursorPosition(110, 53);
        Console.Write("{0, 80}", " ");
        Console.SetCursorPosition(110, 54);
        Console.Write("{0, 80}", " ");
        Console.SetCursorPosition(110, 55);
        Console.Write("{0, 80}", " ");
        #endregion

        if (newPosition == 0)
        {
            PrintCard(0);

            player.Cash += circleCash;

            Console.SetCursorPosition(110, 50);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" has pass through GO and has collected $");
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write(circleCash);
            Console.ResetColor();
            Console.Write("!");
        }
        else if (newPosition == 2 || newPosition == 17 || newPosition == 33)
        {
            switch (newPosition)
            {
                case 2:
                    PrintCard(2);
                    break;
                case 17:
                    PrintCard(17);
                    break;
                case 33:
                    PrintCard(33);
                    break;
            }

            DrawCommunityChest(player);
        }
        else if (newPosition == 7 || newPosition == 22 || newPosition == 36)
        {
            switch (newPosition)
            {
                case 7:
                    PrintCard(7);
                    break;
                case 22:
                    PrintCard(22);
                    break;
                case 36:
                    PrintCard(36);
                    break;
            }

            DrawChance(player);
        }
        else if (newPosition == 10 || newPosition == 20)
        {
            DrawPoint(player, ConsoleColor.White);
            player.Move(newPosition);
            DrawPoint(player, player.Color);

            switch (newPosition)
            {
                case 10:
                    PrintCard(10);
                    break;
                case 20:
                    PrintCard(20);
                    break;
            }
        }
        else if (newPosition == 30)
        {
            DrawPoint(player, ConsoleColor.White);
            player.CurrentPosition = 10;
            DrawPoint(player, player.Color);

            PrintCard(30);

            if (!player.GiveMoney(50, null))
            {
                deletePlayer(player);
            }
        }
        else if (newPosition == 4)
        {
            PrintCard(4);

            if (!player.GiveMoney(200, null))
            {
                deletePlayer(player);
            }
        }
        else if (newPosition == 38)
        {
            PrintCard(38);

            if (!player.GiveMoney(100, null))
            {
                deletePlayer(player);
            }
        }
        else
        {
            PrintCard(newPosition);

            Property movedOn = null;

            foreach (var current in properties)
            {
                if (current.BoardPosition == newPosition)
                {
                    movedOn = current;
                    break;
                }
            }

            if (movedOn.Owner == null)
            {
                if (player.HasMoney(movedOn.Price))
                {
                    // SHOULD BE FIXED! UNPLEASENT POSITIONING, MAY HAVE OVERLAPPING RESULTS.

                    Console.SetCursorPosition(67, 33);

                    Console.ForegroundColor = ConsoleColor.Black;
                    Console.Write("Buy ");
                    Console.ForegroundColor = movedOn.Color;
                    Console.Write(movedOn.Name);
                    Console.ResetColor();
                    Console.Write("? ( ");
                    Console.ForegroundColor = ConsoleColor.DarkGreen;
                    Console.Write("Y");
                    Console.ResetColor();
                    Console.Write(" / ");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("N");
                    Console.ResetColor();
                    Console.Write(").");

                    ConsoleKeyInfo key = Console.ReadKey(true);

                    while (key.Key != ConsoleKey.Y && key.Key != ConsoleKey.N)
                    {
                        key = Console.ReadKey(true);
                    }

                    Console.SetCursorPosition(67, 33);
                    Console.Write("{0, 35}", " ");

                    if (key.Key == ConsoleKey.Y)
                    {
                        player.AddProperty(movedOn);
                        movedOn.Owner = player;

                        Console.SetCursorPosition(110, 51);
                        Console.ForegroundColor = player.Color;
                        Console.Write(player.Color);
                        Console.ResetColor();
                        Console.Write(" bought ");
                        Console.ForegroundColor = movedOn.Color;
                        Console.Write(movedOn.Name);
                        Console.ResetColor();                        
                        Console.Write("!");

                    }
                }
            }
            else if (!movedOn.Owner.Equals(player))
            {

                Console.SetCursorPosition(110, 52);
                Console.ForegroundColor = player.Color;
                Console.Write(player.Color);
                Console.ResetColor();
                Console.Write(" paid ");
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.Write(movedOn.Rent);
                Console.ResetColor();
                Console.Write(" rent to ");
                Console.ForegroundColor = movedOn.Owner.Color;
                Console.Write(movedOn.Owner.Color);
                Console.ResetColor();
                Console.Write(" for ");
                Console.ForegroundColor = movedOn.Color;
                Console.Write(movedOn.Name);
                Console.ResetColor();
                Console.Write("!");
                
                if (!player.GiveMoney(movedOn.Rent, movedOn.Owner))
                {
                    deletePlayer(player);
                }
            }
        }
    }

    private bool IsProperty(byte movePosition)
    {
        foreach (var current in properties)
        {
            if (current.BoardPosition == movePosition)
            {
                return true;
            }
        }

        return false;
    }

    private void DrawCommunityChest(Player player)
    {
        switch (chestCounter)
        {
            case 0:
                DrawPoint(player, ConsoleColor.White);
                player.CurrentPosition = 0;
                DrawPoint(player, player.Color);
                player.Cash += circleCash;

                Console.SetCursorPosition(110, 53);
            
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" has passed through GO and has collected $");
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write(circleCash);
            Console.ResetColor();
            Console.Write("!");

                break;
            case 1:
                player.Cash += 75;

                Console.SetCursorPosition(110, 53);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" collected $");
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write(75);
            Console.ResetColor();
            Console.Write("!");

                break;
            case 2:

                Console.SetCursorPosition(110, 53);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" paid $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(50);
            Console.ResetColor();
            Console.Write("!");

                if (!player.GiveMoney(50, null))
                {
                    deletePlayer(player);
                }

                break;
            case 3:
                
                DrawPoint(player, ConsoleColor.White);
                player.CurrentPosition = 10;
                DrawPoint(player, player.Color);

                Console.SetCursorPosition(110, 53);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" got arrested and paid $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(50);
            Console.ResetColor();
            Console.Write("!");

                if (!player.GiveMoney(50, null))
                {
                    deletePlayer(player);
                }

                break;
            case 4:
                GetMoneyFromPlayers(player, 10);

                Console.SetCursorPosition(110, 53);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" received $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(10 * players.Count);
            Console.ResetColor();
            Console.Write("from every player!");

                break;
            case 5:
                GetMoneyFromPlayers(player, 53);

                Console.SetCursorPosition(110, 55);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" paid $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(50 * players.Count);
            Console.ResetColor();
            Console.Write("every player!");

                break;
            case 6:
                player.Cash += 20;

                Console.SetCursorPosition(110, 53);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" received $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(20);
            Console.ResetColor();
            Console.Write("!");

                break;
            case 7:
                player.Cash += 100;

                Console.SetCursorPosition(110, 53);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" received $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(100);
            Console.ResetColor();
            Console.Write("!");

                break;
            case 8:
                if (!player.GiveMoney(100, null))
                {
                    deletePlayer(player);
                }

                break;
            case 9:
                if (!player.GiveMoney(50, null))
                {
                    deletePlayer(player);
                }

                break;
        }

        chestCounter++;
        chestCounter %= 10;
    }

    private void DrawChance(Player player)
    {
        switch (chanceCounter)
        {
            case 0:
                DrawPoint(player, ConsoleColor.White);
                player.CurrentPosition = 0;
                DrawPoint(player, player.Color);
                player.Cash += circleCash;

                Console.SetCursorPosition(110, 54);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" has passed through GO and has collected $");
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write(circleCash);
            Console.ResetColor();
            Console.Write("!");

                break;
            case 1:
                DrawPoint(player, ConsoleColor.White);
                player.Move(24);
                DrawPoint(player, player.Color);
                CheckPositon(24, player);
                break;
            case 2:
                DrawPoint(player, ConsoleColor.White);
                player.Move(11);
                DrawPoint(player, player.Color);
                CheckPositon(11, player);
                break;
            case 3:

                Console.SetCursorPosition(110, 54);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" received $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(50);
            Console.ResetColor();
            Console.Write("!");

                player.Cash += 50;
                break;
            case 4:
                DrawPoint(player, ConsoleColor.White);
                player.Move((byte)(player.CurrentPosition - 3));
                DrawPoint(player, player.Color);
                CheckPositon((byte)(player.CurrentPosition - 3), player);
                break;
            case 5:

                Console.SetCursorPosition(110, 54);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" got arrested and paid $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(50);
            Console.ResetColor();
            Console.Write("!");

                DrawPoint(player, ConsoleColor.White);
                player.CurrentPosition = 10;
                DrawPoint(player, player.Color);

                if (!player.GiveMoney(50, null))
                {
                    deletePlayer(player);
                }
                break;
            case 6:

                Console.SetCursorPosition(110, 54);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" received $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(20);
            Console.ResetColor();
            Console.Write("!");

                player.Cash += 20;
                break;
            case 7:

                Console.SetCursorPosition(110, 54);
            Console.ForegroundColor = player.Color;
            Console.Write(player.Color);
            Console.ResetColor();
            Console.Write(" received $");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(100);
            Console.ResetColor();
            Console.Write("!");

                player.Cash += 100;
                break;
            case 8:
                if (!player.GiveMoney(100, null))
                {
                    deletePlayer(player);
                }

                break;
            case 9:
                if (!player.GiveMoney(50, null))
                {
                    deletePlayer(player);
                }

                break;
        }

        chanceCounter++;
        chanceCounter %= 10;
    }


    private void GetMoneyFromPlayers(Player player, double moneyToGive)
    {
        for (int i = 0; i < players.Count; i++)
        {
            if (!players[i].Equals(player))
            {
                if (!players[i].GiveMoney(moneyToGive, player))
                {
                    deletePlayer(players[i]);
                }
            }
        }
    }

    public void deletePlayer(Player player)
    {
        DrawPoint(player, ConsoleColor.White);

        for (byte i = 0; i < players.Count; i++)
        {
            if (players[i].Equals(player))
            {
                players.Remove(players[i]);

                Console.SetCursorPosition(110, 55);
                Console.ForegroundColor = player.Color;
                Console.Write(player.Color);
                Console.ResetColor();
                Console.Write(" had gone ");
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.Write("BANKRUPT");
                Console.ResetColor();
                Console.Write("!");

                break;
            }
        }
    }
}
